需要使用第三方模块,例如 Andris Reinman 的 Nodemailer 。
暂无。可参考 Andris Reinman 的 SimpleSMTP
邮件消息有两部分组成:头部和主体(跟 HTTP 请求一样)。头部包含:谁发的、发给谁、接收日期、主题。
建议是普通文本和 HTML 两种格式
使用 HTMl 编写邮件,可参考 MailChimp
安装:
npm i -s nodemailer
使用:
import nodemailer from "nodemailer;
var mailTransport = nodemailer.createTransport('SMTP', {
service: 'Gmail',
auth: {
user: credentials.gmail.user,
pass: credentials.gmail.password,
},
});
或者直接连接一个 SMTP 服务器:
import nodemailer from "nodemailer;
var mailTransport = nodemailer.createTransport('SMTP', {
host: 'smtp.lmssee.com',
secureConnection: true,
auth: {
user: credentials.meadowlarkSmtp.user,
pass: credentials.meadowlarkSmtp.password,
},
});
mailTransport.sendMail(
{
from: "'Meadowlark Travel' <info@meadowlarktravel.com>",
to: 'lmssee@qq.com',
subject: '哈哈哈',
text: '哈哈哈哈哈哈',
},
function (err) {
if (err) console.error(`Unable to send email: ${error}`);
},
);
邮件发送给多个接受者时,需要用逗号分隔开:
mailTransport.sendMail(
{
from: "'Meadowlark Travel' <info@meadowlarktravel.com>",
to: 'lmssee@qq.com,lmssee@outlook.com',
subject: '哈哈哈',
text: '哈哈哈哈哈哈',
},
function (err) {
if (err) console.error(`Unable to send email: ${error}`);
},
);
Nodemailer 允许在同一封邮件中发送 HTML 和普通文本两种版本,让邮件客户端选择显示哪一个版本:
mailTransport.sendMail(
{
from: "'Meadowlark Travel' <info@meadowlarktravel.com>",
to: 'lmssee@qq.com,lmssee@outlook.com',
subject: '哈哈哈',
html: `<h1>哈哈哈哈</h1><b>粗哈哈哈哈</b>`,
text: '哈哈哈哈哈哈',
},
function (err) {
if (err) console.error(`Unable to send email: ${error}`);
},
);
添加属性可以命令 Nodemailer 将自动转化为普通文本:
generateTextFormHtml : true
不建议在 HTML 邮件中嵌入图片。